Kubernetes 使用 minikube 搭建测试环境
minikube 是啥?
minikube:一个用于快速搭建单节点 Kubernetes 的工具,minikube 可以借助于本地的虚拟化能力,通过 Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox 和 VMWare 等创建出虚拟机,然后在虚拟机中搭建出 Kubernetes 集群来。
但是这个 minikube 主要是用于快速搭建本地的开发测试环境,没办法用来搭建生产集群。真的使用的话还是要用 kubeadm 来搭建集群。
安装 minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
运行服务
minikube start --image-mirror-country='cn' --driver=docker
然后就能看到自己的集群了
kubectl get po -A
打开 Kubernetes 仪表板
# 启动一个新的终端,并保持此命令运行。
minikube dashboard --url
注意:这玩意打开的巨慢,需要等一会
使用 kubectl
使用 kubectl 最好使用 minikube 的内置 kubectl,避免执行报错
创建别名
alias kubectl="minikube kubectl --"
创建一个 Pod
创建一个 twocontainers.yaml
文件
apiVersion: v1 # 指定当前描述文件遵循v1版本的Kubernetes API
kind: Pod # 我们在描述一个 pod
metadata:
name: twocontainers # 指定 pod 的名称
namespace: default # 指定当前描述的 pod 所在的命名空间
labels: # 指定 pod 标签
app: twocontainers
annotations: # 指定 pod 注释
version: v0.5.0
releasedBy: david
purpose: demo
spec:
containers:
- name: simplesrv # 容器的名称
image: quay.io/openshiftlabs/simpleservice:0.5.0 # 创建容器所使用的镜像
ports:
- containerPort: 9876 # 应用监听的端口
- name: simplesrv-shell # 容器的名称
image: ubuntu:latest # 创建容器所使用的镜像
command: # 容器启动命令
- 'bin/bash'
- '-c'
- 'sleep 10000'
创建 Pod
$ kubectl create -f ./twocontainers.yaml
kubectl exec --stdin --tty simplesrv-shell -- /bin/bash
看控制台,如果报错
Failed to pull image "ubuntu:latest": rpc error: code = Unknown desc = Error response from daemon: Head "https://registry-1.docker.io/v2/library/ubuntu/manifests/latest": Get "https://auth.docker.io/token?scope=repository%3Alibrary%2Fubuntu%3Apull&service=registry.docker.io": net/http: TLS handshake timeout
检查一下代理使用的 HTTPS 是不是 http 协议,如果是的话,改成 https 就好了
注意:如果修改了代理需要重启,否则会报错(注意 WSL2 修改了代理,需要重启终端才能生效)